package com.bifrost.model.ro;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigInteger;

@Data
@ApiModel("促销活动下促销商品上传模板")
public class PromotionSkuRO implements Serializable {
    @NotNull(message = "促销价格不可以为空")
    @ApiModelProperty(name = "promotionPrice" , value = "促销价格")
    @DecimalMin(value = "0",message = "促销价格必须大于等于0")
    private BigDecimal promotionPrice;
    @NotNull(message = "促销积分不可以为空")
    @ApiModelProperty(name = "promotionPoint" , value = "促销促销积分价格")
    @DecimalMin(value = "0",message = "促销积分必须大于等于0")
    private BigInteger promotionPoint;
    @NotNull(message = "促销商品是否有限制不可以为空")
    @ApiModelProperty(name = "hasLimit" , value = "促销商品是否有限制")
    private Boolean hasLimit;
    @ApiModelProperty(name = "limitQuantity" , value = "促销商品有限制时限制数量")
    @NotNull(message = "促销商品限制数量不可以为空")
    @Min(value = 0,message = "促销商品有限制时限制数量必须大于等于0")
    private Integer limitQuantity;
    @ApiModelProperty(name = "limitQuantity" , value = "促销商品有限制时限制数量")
    @NotNull(message = "可用库存数量不可以为空")
    @Min(value = 0,message = "可用库存数量必须大于等于0")
    private Integer inventoryAvailable;
    @ApiModelProperty(name = "limitQuantity" , value = "促销商品有限制时限制数量")
    @NotNull(message = "库存不能为空")
    @Min(value = 0,message = "库存数量必须大于等于0")
    private Integer inventory;
    @NotNull(message = "商品SkuId不可以为空")
    @ApiModelProperty(name = "skuId" , value = "商品SkuId")
    private Long skuId;

    public Long getSkuId() {
        return skuId;
    }

    public void setSkuId(Long skuId) {
        this.skuId = skuId;
    }

    public BigDecimal getPromotionPrice() {
        return promotionPrice;
    }

    public void setPromotionPrice(BigDecimal promotionPrice) {
        this.promotionPrice = promotionPrice;
    }

    public BigInteger getPromotionPoint() {
        return promotionPoint;
    }

    public void setPromotionPoint(BigInteger promotionPoint) {
        this.promotionPoint = promotionPoint;
    }

    public Boolean getHasLimit() {
        return hasLimit;
    }

    public void setHasLimit(Boolean hasLimit) {
        this.hasLimit = hasLimit;
    }

    public Integer getLimitQuantity() {
        return limitQuantity;
    }

    public void setLimitQuantity(Integer limitQuantity) {
        this.limitQuantity = limitQuantity;
    }
}
